package 栈;

import java.util.Stack;

/*
栈的压入、弹出序列
    给出两个序列,第一个为栈的压入序列  判断第二个是否可以为栈的弹出序列
        1.遍历pushA数组 把pushA数组的元素放到栈当中
        2.每一次放一个元素 就看和popA的元素是否一样
        3.j++
 */
public class Solution3 {
    public boolean IsPopOrder (int[] pushV, int[] popV) {
        Stack<Integer> stack = new Stack<>();
        int j =0;
        for (int i = 0; i < pushV.length; i++) {
            stack.push(pushV[i]);
            while (!stack.isEmpty()&&j< popV.length&&stack.peek()==popV[j]){
                stack.pop();
                j++;
            }
        }
        return stack.empty();
    }
}
